package OOAP;

/**
 * 通过具体的对象"."操作来访问该对象的属性和方法
 *
 * 同一个类可以产生若干个实例化对象
 * 不同对象的属性是不同的，正因为属性值的不同，因此对象表现出来的行为也不同
 *
 * 普通类，不用public修饰的类，class test{}；
 * 用class定义的类其实就是一个模板，规定了该类的所有对象都具备的属性和行为，此时并不占内存空间，不是真正的蓝图
 *
 * 当使用关键字new产生对象之后，对象才真正的占据物理空间，不同对象虽然都具备相同的属性，属性值不同，因此表现出来的行为就不同
 *
 *SCanner scanner=new Scanner(System.in)需要传入的System.in叫实参
 * 形参是需要调用一个参数
 *
 * 类中的构造方法专门为了对象实例化产生的，调用类的构造方法是为了产生对象
 * 要求：类中的构造方法必须和类名称相同，没有返回值声明（不等于void），构造方法仍然可以重载，在产生对象时由编译器自动调用构造方法产生对象。
 *
 * 当类中没有提供构造方法定义时，编译器会生成默认的无参构造。
 * 当类中提供了构造方法，编译器将不再生成默认的无参构造
 *
 * 有返回值的方法是普通的成员方法
 *
 * Person person=new Person();这儿调用的是无参构造
 */
public class Main {
    public static void main(String[] args) {
        //通过WashingMachine类进行实例化
        WashingMachine washingMachine=new WashingMachine();
        washingMachine.brand="海尔";
        washingMachine.type="001";
        washingMachine.washClothes();
        //再次通过WashingMachine类实例化
        WashingMachine washingMachine1=new WashingMachine();
        washingMachine1.brand="华为";
        washingMachine1.type="002";
        washingMachine1.washClothes();

    }
}
